\section{Introduction}
\label{sec:introduction}

\IEEEPARstart{T}{he} provisioning of asymmetric compute resources on-chip as a method to increase the 
energy-efficiency of a processor was proposed by prior work~\cite{Kumar03}. This is due to the fact that a Heterogeneous 
Chip Multi-Processor (HeCMP) exploits program variance more effectively both within and among applications 
than a Homogeneous Chip Multi-Processor (HoCMP). Recently, commercial products such as the \textit{ARM big.LITTLE}~\cite{ARM11-WhitePaper-BigLittle}
and the \textit{NVIDIA SMP}~\cite{nvidiaSMP} have been introduced based on this paradigm in an effort to obtain better energy-efficiency.  

The \textit{ARM big.LITTLE} architecture employs a Cortex-A15 (big) along with a Cortex-A7 (LITTLE). These cores are both part of the 
ARM Cortex family and share a monotonic relationship in both design and performance. This is contrary to the recommendations made by prior HeCMP 
research~\cite{Kumar06}, which clearly showed that monotonic cores are not a good fit for HeCMPs. Further, contempory commercial implementations 
of the \textit{ARM big.LITTLE} architecture, e.g. \textit{Samsung Exynos Octa 5}, scale the core count in a manner that is similar to HoCMPs, 
which is not the ideal way to architect a HeCMP~\cite{Kumar06}.
This indicates that, while the intutive energy-performance benefits of heterogeneity is understood in a broad sense, 
more research effort is required in creating a framework that accurately models the design space and provides insight .... 
\remark{ I am unable to complete this sentence nicely. We need a framework to accurately model the design space, provide insight into   
development of the IP cores, Insight into the scaling (performance and energy) properties, and also the utilizing heterogeneous platforms.}

Further, the added constraint of power-dissipation provides the motivation 
to consider over-provisioned designs, where more cores are architected 
than can be simultaneously activated within the power budget~\cite{Chakraborty2008}. 
Increasing degrees of over-provisioning synergize well with 
increasing degrees of heterogeneity: Over-provisioning partially decouples 
the degree of flexibility in mapping applications offered by larger 
degrees of heterogeneity from the associated power and contention 
concerns of running all of the cores simultaneously. This leads 
some proposals~\cite{Goulding11-IEEEMICRO-GreenDroid} to call
for extreme levels of heterogeneity in HeCMPs, with one or more
specialized cores per target application.

In the remainder of this paper, we present \emph{\blackBox{}}, a holistic end-to-end framework 
for automated generation of specifications for a HeCMP based on the micro-architecture independent characteristics of 
a target workload~\cite{Hoste07-IEEEMICRO-MICA} and different optimization constraints. 
\blackBox{} utilizes a data-driven approach combined with linear regression 
models to optimally vary the degree and dimensions of heterogeneity 
in a processor by architecting cores from a set of fixed micro-architectural components. 

The contributions of this work include the following:
\begin{itemize}
\item We introduce a data-driven approach to overprovisioned heterogeneous processor design centered on the micro-architecture 
independent features of the target workload.
\item We present an integrated framework, \blackBox{}, that combines the data-driven approach with linear 
regression models to aid in automated generation of HeCMP specifications.
\item We evaluate the impact of \blackBox{} and demonstrate designs that offer superior energy efficiency 
compared to homogeneous or limited heterogeneity designs, improving on existing designs by up to 18\%.
\end{itemize}
